package com.iceclean.dao;

import com.iceclean.po.PostCollected;

import java.util.List;

/**
 * @author : Ice'Clean
 * @date : 2021-05-05
 *
 * 贴子收藏表操作接口
 */
public interface PostCollectedDao {
    /**
     * 通过贴子 id 和用户 id 寻找收藏
     * @param postId 贴子 id
     * @param userId 用户 id
     * @return 收藏实例对象
     */
    PostCollected findPostCollected(int postId, int userId);

    /**
     * 通过收藏 id 寻找收藏
     * @param postCollectedId 收藏 id
     * @return 收藏实例对象
     */
    PostCollected findPostCollectedById(int postCollectedId);

    /**
     * 通过页数寻找指定用户的收藏记录
     * @param userId 指定的用户 id
     * @param page 页数
     * @param num 每页的数目
     * @return
     */
    List<PostCollected> findPostCollectedByPage(int userId, int page, int num);

    /**
     * 获取指定用户创建的所有贴吧的数目
     * @param userId 指定的用户 id
     * @return 所有贴吧数
     */
    int getNumberOfAllPostCollected(int userId);


    /**
     * 创建新收藏
     * @param postCollected 新收藏对象
     * @return 新收藏的 id，失败返回 -1
     */
    int createPostCollected(PostCollected postCollected);

    /**
     * 取消收藏
     * @param postCollected 收藏对象
     * @return 是否取消成功
     */
    boolean cancelPostCollected(PostCollected postCollected);
}
